/*
 * VisionManager.h
 *
 *  Created on: May 16, 2010
 *      Author: Soheil Damangir
 */

#ifndef VISIONMANAGER_H_
#define VISIONMANAGER_H_
#include "jpeg_buffer.h"
#include "VisionProcess.h"

using namespace std;
namespace Group5 {

class VisionManager {

  JPEGBuffers jpeg_buffers;
  JPEGQueue jpeg_queue;
  VisionProcess vision_process;
  CameraReader cam_reader;
  ImageProcessor processor;

public:
  VisionManager();
  static VisionManager&get() 
  {
      static VisionManager vm;
      return vm;
  }

  DetectionResults const & getBombResult();
  DetectionResults const & getBallResult();
  DetectionResults const & getStripeResult();

  void reset_bomb_results() {
    vision_process.reset_bomb_results();
  }

  virtual ~VisionManager();
};

}

#endif /* VISIONMANAGER_H_ */
